using System;
using System.Collections.Generic;
using System.ServiceModel.Channels;

namespace SimpleServiceBus.Endpoints.DotNetServiceBus.Transport
{
    public interface IQueueClient
    {
        Message Retrieve(TimeSpan timeout);
        IEnumerable<Message> RetrieveMultiple(int maxMessages,TimeSpan timeout);

        Message Peek(TimeSpan timeout);
        IEnumerable<Message> PeekMultiple(int maxMessages,TimeSpan timeout);

        void Delete(Message message);
        void Release(Message message);

        void Send(Message message);

    }
}